package br.com.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;


import br.com.bean.ResultadoFinalBean;

public class ResultadoFinalDao {

	public void inserir(Connection conn, ResultadoFinalBean value) throws SQLException {
		String sql = "INSERT INTO resultado_final( id_matricula, total_aulas, " +
				"id_disciplina,carga_horaria, nota_final, falta_final, situacao) " +
				"VALUES (?, ?, ?, ?, ?,?, ?)";

		PreparedStatement ps = conn.prepareStatement(sql);

		ps.setInt(1, value.getNmatric().getId());
		ps.setInt(2, value.getTotalaulas().getId());
		ps.setInt(3, value.getDisciplina().getId());
		ps.setInt(4, value.getCargahr().getId());
		ps.setInt(5, value.getNota().getId());
		ps.setInt(6, value.getFalta().getId());
		ps.setInt(7, value.getSitu().getId());
		ps.execute();
		ps.close();

	}

	public void excluir(Connection conn, ResultadoFinalBean value) throws Exception {

		String sql = "DELETE FROM resultado_final WHERE id = ?";
		PreparedStatement ps = conn.prepareStatement(sql);
		ps.setInt(1, value.getId());
		ps.execute();
	}

	public void alterar(Connection conn, ResultadoFinalBean value) throws Exception {

		String sql = "UPDATE resultado_final SET  id_matricula=?, " +
				"total_aulas=?, id_disciplina=?, carga_horaria=?, " +
				"nota_final=?, falta_final=?, situacao=? WHERE  id = ?";

		PreparedStatement ps = conn.prepareStatement(sql);
		ps.setInt(1, value.getNmatric().getId());
		ps.setInt(2, value.getTotalaulas().getId());
		ps.setInt(3, value.getDisciplina().getId());
		ps.setInt(4, value.getCargahr().getId());
		ps.setInt(5, value.getNota().getId());
		ps.setInt(6, value.getFalta().getId());
		ps.setInt(7, value.getSitu().getId());
		ps.execute();
		ps.close();
	}

	public ArrayList<ResultadoFinalBean> getLista(Connection conn, ResultadoFinalBean value) throws Exception{

		String sql = " SELECT id_matricula, total_aulas, id_disciplina, " +
				"carga_horaria, nota_final, falta_final, situacao " +
				"FROM resultado_final where id = ?";

		PreparedStatement ps = conn.prepareStatement(sql);
		ps.setInt(1, value.getId());
		ResultSet rs = ps.executeQuery();
		ArrayList<ResultadoFinalBean> al = new ArrayList<ResultadoFinalBean>();
		while(rs.next()){
			ResultadoFinalBean a = new ResultadoFinalBean();
			a.getNmatric().setId(rs.getInt("id_matricula"));
			a.getTotalaulas().setId(rs.getInt("total_aulas"));
			a.getDisciplina().setId(rs.getInt("id_disciplina"));
			a.getCargahr().setId(rs.getInt("carga_horaria"));
			a.getNota().setId(rs.getInt("nota_final"));
			a.getFalta().setId(rs.getInt("falta_final"));
			a.getSitu().setId(rs.getInt("situacao"));
			al.add(a);
		}
		return al;
	}

	public ArrayList<ResultadoFinalBean> getLista(Connection conn) throws Exception{

		String sql = "SELECT id_matricula, total_aulas, id_disciplina, " +
				"carga_horaria, nota_final, falta_final, situacao " +
				"FROM resultado_final";

		PreparedStatement ps = conn.prepareStatement(sql);
		ResultSet rs = ps.executeQuery();
		ArrayList<ResultadoFinalBean> al = new ArrayList<ResultadoFinalBean>();
		while(rs.next()){
			ResultadoFinalBean a = new ResultadoFinalBean();
			a.getNmatric().setId(rs.getInt("id_matricula"));
			a.getTotalaulas().setId(rs.getInt("total_aulas"));
			a.getDisciplina().setId(rs.getInt("id_disciplina"));
			a.getCargahr().setId(rs.getInt("carga_horaria"));
			a.getNota().setId(rs.getInt("nota_final"));
			a.getFalta().setId(rs.getInt("falta_final"));
			a.getSitu().setId(rs.getInt("situacao"));
			al.add(a);
		}
		return al;
	}

}